/**
 * 画板当前的类型
 * Select：鼠标模式、Stroke：画笔、Fluorescent：荧光笔、Eraser：橡皮擦、Text：文本、Hand：页面漫游
 * @type {{Select: string, Stroke: string, Fluorescent: string, Eraser: string, Text: string}}
 */
const SketchpadType = {
    Draw: 'draw',
    Select: 'select',
    Stroke: 'stroke',
    Fluorescent: 'fluorescent',
    Eraser: 'eraser',
    Text: 'text',
    Hand: 'hand',
    InsertFile: 'insert-file',
    Explain: 'explain',
    Geometry: 'geometry',
    StraightLine: 'straightLine',
    Arrow: 'arrow',
    GeometryProperties: 'geometryProperties',
};

/**
 * ClearSketchpad：擦除全部线条、ClearAll：擦除全部、Do：恢复、Undo：撤销、Enlarge：放大、Narrow：缩小
 * @type {{ClearSketchpad: string, ClearAll: string, Do: string, Undo: string, Enlarge: string, Narrow: string}}
 */
const EditorAction = {
    ClearSketchpad: 'clear-all-stroke',
    ClearAll: 'clear-all',
    Redo: 'redo',
    Undo: 'undo',
    PrevPage:'prev-page',
    NextPage:'next-page',
    Enlarge: 'enlarge',
    Narrow: 'narrow',
    Switch: 'switch',
    Contrast: 'contrast',
    GeCiSwitch: 'ge-ci-switch',
    PinYinSwitch: 'pin-yin-switch',
    JieZouSwitch: 'jie-zou-switch'
};

/**
 * 一些事件，可做监听
 * InsertTmpTextElement：插入临时文本框、RemoveTmpTextElement：删除临时文本框、DomElementInsert：插入dom、DomElementChanged：修改dom、DomElementRemoved：删除dom
 * @type {{InsertTmpTextElement: string, RemoveTmpTextElement: string, DomElementInsert: string, DomElementChanged: string, DomElementRemoved: string}}
 */
const SketchpadEvent = {
    InsertTmpTextElement: 'InsertTmpTextElement',
    RemoveTmpTextElement: 'RemoveTmpTextElement',
    DomElementInsert: 'DomElementInsert',
    DomElementChanged: 'DomElementChanged',
    DomElementRemoved: 'DomElementRemoved',
};

const EditorType = {
    MusicScoreEditor: 'MusicScoreEditor',
    MusicScorePlayer: 'MusicScorePlayer',
    MusicEducation: 'MusicEducation',
    PerformanceTeaching: 'PerformanceTeaching',
    MusicAppreciation: 'MusicAppreciation',
    MusicReourcesCenter: 'MusicReourcesCenter',
    WindInstruments: 'WindInstruments',
};

const SelectedRectBackgroundColor = 'rgba(255,0,0,0.3)';
const Transparent = 'rgba(0,0,0,0)';
const Black = '#000';
const SelectedColor = 'rgba(255,0,0,1)';
const HighlightedColor = 'rgba(31,204,255,1)';
const HighlightedRectBackgroundColor = 'rgba(31,204,255,0.3)';

const EditorDataFrom = {
    MusicScoreEditor: 1,
    MusicScorePlayer: 2
};

const SelectKeyType = {
    None: 0,
    CtrlOrCommand: 1,
    Shift: 2
};

const ShiftSelectableClassNames = [
    'MusicScoreYinFuContent',
    'MusicScoreYinFu',
    'MusicScoreXiaoJie',
];

const MultiSelectableClassNames = [
    'MusicScoreYinFuContent',
    'MusicScoreYinFu'
];

const JMC_VERSION = 2.1;
const JMC_VERSION_SCALE_MUSIC_SCORE = 2.1;

module.exports = {
    SketchpadType,
    EditorAction,
    SketchpadEvent,
    EditorType,
    SelectedRectBackgroundColor,
    Transparent,
    SelectedColor,
    HighlightedColor,
    HighlightedRectBackgroundColor,
    Black,
    EditorDataFrom,
    SelectKeyType,
    ShiftSelectableClassNames,
    MultiSelectableClassNames,
    JMC_VERSION,
    JMC_VERSION_SCALE_MUSIC_SCORE
};
